package cn.xfdzx.android.apps.shop.contract;

import cn.xfdzx.android.apps.shop.base.BaseView;
import cn.xfdzx.android.apps.shop.bean.CarCountBeen;
import cn.xfdzx.android.apps.shop.bean.CreatePusherBeen;
import cn.xfdzx.android.apps.shop.bean.LogininfoBean;
import cn.xfdzx.android.apps.shop.bean.UpdateNumPriceBeen;
import cn.xfdzx.android.apps.shop.bean.VideoEndBeen;
import cn.xfdzx.android.apps.shop.bean.VideoRoomGoodListBeen;
import io.reactivex.Flowable;


/**
 * @author azheng
 * @date 2018/6/4.
 * Description：
 */

public interface CreatePusherContract {
    interface Model {
        Flowable<VideoEndBeen> videoEnd();

        Flowable<CreatePusherBeen> createPusher(String live_cover, String title);


        Flowable<LogininfoBean> createImGroup(String id, String type);

        Flowable<LogininfoBean> getLiveImLogin(String id, String type);

        Flowable<VideoRoomGoodListBeen> videoRoomGoodList(String live_id);

        Flowable<UpdateNumPriceBeen> updateNumPrice(String id, String marketprice, String stock, String discountprice);
    }

    interface View extends BaseView {
        @Override
        void showLoading();

        @Override
        void hideLoading();

        @Override
        void onError(Throwable throwable);

        void onVideoEndSuccess(VideoEndBeen bean);

        void onCreatePusherSuccess(CreatePusherBeen bean);

        void onCreateImGroupSuccess(LogininfoBean bean);

        void onLiveImLoginSuccess(LogininfoBean bean);
        void onVideoRoomGoodListSuccess(VideoRoomGoodListBeen bean);
        void onUpdateNumPriceSuccess(UpdateNumPriceBeen bean);
    }

    interface Presenter {
        /**
         *
         */
        void createPusher(String live_cover, String title);

        /**
         *
         */
        void videoEnd();

        /**
         * IM登录
         *
         * @param type
         */
        void createImGroup(String id, String type);

        /**
         * IM登录
         *
         * @param type
         */
        void getLiveImLogin(String id, String type);

        void videoRoomGoodList(String live_id);
        void updateNumPrice( String id, String marketprice, String stock, String discountprice);
    }
}
